home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_13_09 / barbu / assocmem.hpp < prev    next >
C/C++ Source or Header  |  1995-05-10  |  2KB  |  74 lines

  1. Listing2
  2.  
  3. //////////////////////////////////////////////////////
  4. // ASSOCMEM, an abstract data bank
  5. //////////////////////////////////////////////////////
  6. #if !defined(ASSOCMEM_HPP)
  7. #define ASSOCMEM_HPP
  8. #if !defined(RC_INVOKED)    // no Windows RC compiler
  9. #include "STR.HPP"
  10. class ASSOCMEM {
  11. public:
  12.     ASSOCMEM() {}
  13.     virtual ~ASSOCMEM() {}
  14. // get/set for strings:
  15.     virtual const char* get(const char szSym[],
  16.                             STR& Val) const = 0;
  17.         // returns Val, unchanged if szSym not found
  18.     virtual void set(const char szSym[],
  19.                     const char szValue[])= 0;
  20. // get/set for integers:
  21.     virtual int get(const char szSym[],
  22.                     int nDefault = 0) const = 0;
  23.     virtual void set(const char szSym[], int nVal)= 0;
  24.  
  25. private:
  26.     ASSOCMEM(const ASSOCMEM&);
  27.     ASSOCMEM& operator=(const ASSOCMEM&);
  28. };
  29. #endif
  30. #endif
  31.  
  32. //////////////////////////////////////////////////////
  33. // SHOWDATA, an ASSOCMEM with a face
  34. //////////////////////////////////////////////////////
  35. #if !defined(SHOWDATA_HPP)
  36. #define SHOWDATA_HPP
  37. #if !defined(RC_INVOKED)    // no Windows RC compiler
  38. #include "ASSOCMEM.HPP"
  39. #include <windows.h>
  40. class MODALDLG;
  41. class SHOWDATA : public ASSOCMEM {
  42. public:
  43.     enum RET { OK, CANCEL,
  44.                 MEMORYOUT, INTERNALERR,
  45.                 DESCNOTFOUND, SYNTAXERR };
  46.     SHOWDATA(const char szStoreFile[],
  47.             const char szStoreSect[] = 0
  48.             );
  49.     virtual ~SHOWDATA();
  50. // store / retrieve, ASSOCMEM overloads:
  51.     virtual const char* get(const char szSym[],
  52.                             STR& Val) const;
  53.     virtual void set(const char szSym[],
  54.                     const char szValue[]);
  55.     virtual int get(const char szSym[],
  56.                     int nDefault = 0) const;
  57.     virtual void set(const char szSym[], int nVal);
  58. // MS-Windows presentation layer:
  59.     RET modalDlg(HWND hWndParent, HINSTANCE hInst,
  60.             const char szDescrFile[],
  61.             const char szDescrSect[],
  62.             const char szResourceType[] = 0);
  63.  
  64. private:
  65.     const STR _name, _sect;
  66.     MODALDLG *_dlg;
  67.  
  68.     SHOWDATA();
  69.     SHOWDATA(const SHOWDATA&);
  70.     SHOWDATA& operator=(const SHOWDATA&);
  71. };
  72. #endif
  73. #endif
  74.